home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group99a.txt
/
000108_icon-group-sender _Wed Apr 28 12:33:24 1999.msg
< prev
next >
Wrap
Internet Message Format
|
2000-09-20
|
4KB
Return-Path: <icon-group-sender>
Received: (from root@localhost)
by baskerville.CS.Arizona.EDU (8.9.1a/8.9.1) id MAA28778
for icon-group-addresses; Wed, 28 Apr 1999 12:32:08 -0700 (MST)
Message-Id: <199904281932.MAA28778@baskerville.CS.Arizona.EDU>
Delivered-To: icon-group@cs.arizona.edu
From: "Mark Evans" <evans@gte.net>
To: <icon-group@optima.CS.Arizona.EDU>
Subject: RE: Modula 3
Date: Wed, 28 Apr 1999 10:34:18 -0500
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
Importance: Normal
Errors-To: icon-group-errors@optima.CS.Arizona.EDU
Status: RO
To reiterate, I asked for a utility comparison of Modula-3 with Icon, not with
all the other languages in the world:
"My question was about practical field experience from people who have used both
Icon and Modula-3 in the field, for real projects."
You say "pretty good performance" but your comments are relative to languages
other than Icon. What is the performance relative to Icon? How does the GUI
Kit for Modula 3 compare to the GUI Kit for Icon? How easy is it to code Modula
3 vs. Icon? Etc.
As far as the evolution of Icon -- Icon is by its own admission a small
language, and I daresay that its main features (string parsing, goal-direction)
could be incorporated into other languages wholesale. The impetus for this line
of questioning is the notion that Icon is not good for large-scale projects,
whereas Modula-3 claims that's what it was made for.
Mark
-----Original Message-----
From: icon-group-sender@CS.Arizona.EDU
[mailto:icon-group-sender@CS.Arizona.EDU]On Behalf Of Richard A. O'Keefe
Sent: Tuesday, April 27, 1999 6:41 PM
To: evans@gte.net; icon-group@CS.Arizona.EDU
Subject: RE: Modula 3
Modula 3 is supposed to be capable of handling vast software systems without
all
the header file nightmares of C++. It is supposed to capture essentially all
the good and "proven" features of modern software compiler design practice,
without all the bad stuff (but still allowing for low-level machine access as
required, in controlled interfaces). Whether it was based on Pascal or BASIC
or
FORTRAN or C or Ada does not answer the question of the Modula-3 language's
practical utility as it exists today, in comparison to Icon. The blurbs for
Icon make a lot of similar claims.
You can think of Modula 3 as a poor man's Ada 95
PLUS required garbage collection
PLUS a GUI kit of its own instead of Ada's X and Windows bindings.
Modula-3 should give you pretty good performance, but probably won't
match Ada or SmallEiffel. If only Ada 95 systems all had garbage
collection (instead of only some of them) I don't know why anyone
would use Modula-3.
The blurbs I have read from the Modula-3 home page indicate that
some groups of experienced C++ programmers never looked back
after using Modula-3.
That's largely because C++ is uniquely horrible. "Header file nightmares"
are confined to C-like languages; Simula 67 had full typesafe separate
compilation without any of that nonsense back in the late 60s. If you want
a decent OO language with generics, Eiffel and Sather deserve as much
consideration as Modula-3, and Eiffel has multiple implementations.
Maybe another way to ask my question is this: if Icon evolves,
should it evolve in the direction of Modula-3? Even partly?
It couldn't, not without changing its character so much as to be
unrecognisable. Icon *could* evolve in the direction of ISETL, Pop-11,
or Lisp without losing too much; indeed, if you get Jeff Siskind's
SCREAMER package for Lisp, you end up with a rather more powerful
language than Icon but in much the same spirit. (To start with, the
Common Lisp Object System is the most powerful in existence, far beyond
anything Modula-3 can muster.)
You could *possibly* bolt some kind of Haskell-like type system on top
of Icon and still salvage much of the language (there's an interesting
M.Sc. topic), but not a Modula-3-like type system, and it's only a
little exaggeration to say that the type system _is_ Modula-3.